Software router is a term denoting a computer or a PC designated to do the task of routing packets between networks. Because real hardware routers are costly (in most cases costlier than an average PC), this technique of modifying the PC and using it as a router is desired. The changes include but not limited to attaching two or more NICs network interface cards, to connect different networks, upgrading the current hardware such as installing additional memory modules etc.